Towards practical application of mutation testing in industry — Traditional versus extreme mutation testing
نویسندگان
چکیده
Mutation testing is a technique that changes code instructions to assess the quality of automated software tests. Industry has not broadly adopted because execution and analysis times are too long considered worth effort. To change this, variation called “extreme mutation testing” emerged, which mutates whole methods instead instructions. The extreme variant trades accuracy for speed gains also provides pre-analyzed results. In this study, we aim analyze both techniques on their granularity levels, look benefits when combining them, find motivations developer considers killing mutants. For that, conducted case study in company from semiconductor industry. We mutated large Java project tested by more than 11,000 unit tests, analyzed results, manually inspected 1000 mutants, focus group with five developers software. Among other provide distribution traditional across mutants as well qualitative coding results our mutant inspection transcript. conclude approach can be similarly strategically applied one target mostly related.
منابع مشابه
Towards Incremental Mutation Testing
Proponents of Agile development processes claim that adhering to Agile principles leads to the delivery of high quality code in evolutionary increments. Confidence in resulting systems is mostly gained through the use of unit test suites, entrusted to catch regressions as soon as they occur. Consequently, the system can only be as trustworthy as its tests, meaning that measurements of the tests...
متن کاملTowards Automated Mutation Testing
Mutation testing is a fault based testing technique used to find the effectiveness of test cases. It is a powerful and computationally expensive technique to find the adequacy of test cases. One of the major disadvantages of mutation testing is compiling and executing the faulty versions of the original programs (called mutants) with all the provided test cases. Hence this process should be aut...
متن کاملProblems of Mutation Testing and Higher Order Mutation Testing
Since Mutation Testing was proposed in the 1970s, it has been considered as an effective technique of software testing process for evaluating the quality of the test data. In other words, Mutation Testing is used to evaluate the fault detection capability of the test data by inserting errors into the original program to generate mutations, and after then check whether tests are good enough to d...
متن کاملMutation Analysis for JavaScriptWeb Application Testing
When developers test modern web applications that use JavaScript, challenging issues lie in their event-driven, asynchronous, and dynamic features. Many researchers have assessed the adequacy of test cases with code coverage criteria; however, in this paper, we show that the code coverage-based approach possibly misses some faults in the applications. We propose a mutation analysis approach for...
متن کاملHigher order mutation testing
This paper introduces a new paradigm for Mutation Testing, which we call Higher Order Mutation Testing (HOM Testing). Traditional Mutation Testing considers only first order mutants, created by the injection of a single fault. Often these first order mutants denote trivial faults that are easily killed. Higher order mutants are created by the insertion of two or more faults. The paper introduce...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of software
سال: 2022
ISSN: ['1796-217X']
DOI: https://doi.org/10.1002/smr.2450